// v1
var LoginAlert = function(text) {
  this.content = text;
}
LoginAlert.prototype.show = function() {}
var LoginConfirm = function(text) {
  this.content = text;
}
LoginConfirm.prototype.show = function() {}
var LoginPrompt = function(text) {
  this.content = text;
}
LoginPrompt.prototype.show = function() {}


// 直接使用
var userNameAlert = new LoginAlert('用户名不能多于16个字母或数字');
userNameAlert.show();


// 简单工厂 v1
// 思路：直接创建对象
var PopFactory = function(name) {
  switch(name) {
    case 'alert':
      return new LoginAlert();
    case 'comfirm':
      return new LoginComfirm();
    case 'prompt':
      return new LoginPrompt();
  }
}


// 简单工厂 v2
// 思路：创建一个新对象，包装增强其属性和功能
var createPop = function(type, text) {
  var o = new Object();
  o.content = text;
  o.show = function() {
    // 显示方法
  };
  if (type == 'alert') {
    // 警示框差异部分
  }
  if (type == 'confirm') {
    // 提示框差异部分
  }
  if (type == 'prompt') {
    // 确认框差异部分
  }
  return 0;
}
var userNameAlert = createPop('alert', '用户名只能是26个英文字母或数字');
